/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.ucue.sep.model;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author CHRISTIAN
 */
@Entity
@Table(name="paquete")
public class Paquete implements Serializable{
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int idPaquete;
    @Column
    @Temporal(TemporalType.DATE)
    private Date fecha;
    @Column
    private String estado;
    @Column
    private String trackingCode;
    @Column
    private String numCard;
    @Column
    private String tipoCard;
    @Column(precision=2)
    private double subtotal;
    @Column(precision=2)
    private double valIVA;
    @Column(precision=2)
    private double  total;
    
    @OneToMany
    private List<DetallePaquete> detalles;
    @OneToMany
    private List<Ubicacion> ubicaciones;
    @OneToMany
    private List<Observacion> observaciones;
    
    @ManyToOne
    private Persona emisor;
    @ManyToOne
    private Persona receptor;
    
    @ManyToOne
    private Sucursal desde;
    @ManyToOne
    private Sucursal hacia;

    public int getIdPaquete() {
        return idPaquete;
    }

    public void setIdPaquete(int idPaquete) {
        this.idPaquete = idPaquete;
    }

    public Date getFecha() {
        return fecha;
    }

    public void setFecha(Date fecha) {
        this.fecha = fecha;
    }

    public String getEstado() {
        return estado;
    }

    public void setEstado(String estado) {
        this.estado = estado;
    }

    public String getTrackingCode() {
        return trackingCode;
    }

    public void setTrackingCode(String trackingCode) {
        this.trackingCode = trackingCode;
    }

    public String getNumCard() {
        return numCard;
    }

    public void setNumCard(String numCard) {
        this.numCard = numCard;
    }

    public String getTipoCard() {
        return tipoCard;
    }

    public void setTipoCard(String tipoCard) {
        this.tipoCard = tipoCard;
    }

    public double getSubtotal() {
        return subtotal;
    }

    public void setSubtotal(double subtotal) {
        this.subtotal = subtotal;
    }

    public double getValIVA() {
        return valIVA;
    }

    public void setValIVA(double valIVA) {
        this.valIVA = valIVA;
    }

    public double getTotal() {
        return total;
    }

    public void setTotal(double total) {
        this.total = total;
    }

    public List<DetallePaquete> getDetalles() {
        return detalles;
    }

    public void setDetalles(List<DetallePaquete> detalles) {
        this.detalles = detalles;
    }

    public List<Ubicacion> getUbicaciones() {
        return ubicaciones;
    }

    public void setUbicaciones(List<Ubicacion> ubicaciones) {
        this.ubicaciones = ubicaciones;
    }

    public List<Observacion> getObservaciones() {
        return observaciones;
    }

    public void setObservaciones(List<Observacion> observaciones) {
        this.observaciones = observaciones;
    }

    public Persona getEmisor() {
        return emisor;
    }

    public void setEmisor(Persona emisor) {
        this.emisor = emisor;
    }

    public Persona getReceptor() {
        return receptor;
    }

    public void setReceptor(Persona receptor) {
        this.receptor = receptor;
    }

    public Sucursal getDesde() {
        return desde;
    }

    public void setDesde(Sucursal desde) {
        this.desde = desde;
    }

    public Sucursal getHacia() {
        return hacia;
    }

    public void setHacia(Sucursal hacia) {
        this.hacia = hacia;
    }
    
}
